package org.simplecrm.service.customer;

import org.simplecrm.domain.customer.Customer;

import java.util.List;

/**
 *
 */
public interface CustomerService {

    /**
     *
     * @return
     */
    List<Customer> getAllCustomers();

    /**
     *
     * @param pageNumber
     * @param pageSize
     * @return
     */
    List<Customer> getCustomersPage(int pageNumber, int pageSize);

    /**
     * @return
     */
    Long getCustomersCount();

    /**
     *
     * @param id
     */
    void deleteCustomer(int id);

    /**
     *
     * @param id
     * @return
     */
    Customer getCustomerById(int id);

    /**
     *
     * @param newCustomer
     */
    void addNewCustomer(Customer newCustomer);

    /**
     *
     * @param changedCustomer
     */
    void updateCustomer(Customer changedCustomer);
}